/**
 * AccountMapper.java
 * Copyright(C) 1949++ 中华人民共和国
 * 深圳市盛开互联网金融顾问有限公司.
 * All rights reserved.
 * E-mail:server@skjr.net
 * SKDate:2017-11-16 17:28:58
 */
package com.huamao.zh.mapper;

import java.util.List;
import java.util.Map;

import com.huamao.zh.base.PageWrapper;
import com.huamao.zh.model.Account;

public interface AccountMapper {
	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	int add(Account account);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	int addSelective(Account account);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	int delete(Map<String, Object> map);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	int update(Account account);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	int updateSelective(Account account);

	/**
	 * Desc:分润奖励账户处理 Author: Bourne Date: 2017-11-21 15:44
	 */
	int addFenrun(Account account);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	Account get(Integer accountId);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	Account getByUserId(int UserId);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	List<Account> search(PageWrapper<Account> pageWrapper);

	/**
	 * 功能说明： Author： SKDate:2017-11-16 17:28:58
	 */
	List<Account> queryList(Map<String, Object> map);

	/**
	 * 功能说明：查询需要把积分转换华宝的列表 Author：Bourne SKDate:2017-11-16 17:28:58
	 */
	List<Account> queryScoreList(Map<String, Object> map);

	/**
	 * Desc: Author: Bourne SKDate: 2017-11-17 12:02
	 */
	int scoreToKaiyuan(Account account);

	/**
	 * Desc: 待发现金转到现金 Author: lsx SKDate: 2017-11-23
	 */
	void updateCash(Integer userId);

	/**
	 * Desc: 通过userid获取账户 Author: lsx SKDate: 2017-11-23
	 * 
	 * @return
	 */
	Account getByUsersId(Integer userId);

	/**
	 * Desc: 待发积分转到积分 Author: lsx SKDate: 2017-11-23
	 */
	void updateScore(Integer userId);

	/**
	 * Desc: 奖励现金到待发现金中 Author: lsx SKDate: 2017-11-24
	 */
	void addSelectiveToFreezeCash(Map<String, Object> map);

	/**
	 * Desc: 奖励现金到可用现金中 Author: lsx SKDate: 2017-11-24
	 */
	void addSelectiveToCash(Map<String, Object> map);

	/**
	 * Desc: 对上线的发展人数加一 Author: lsx SKDate: 2017-11-24
	 */
	void addSelectiveUsersinviteNum(Integer inviteId);

	/**
	 * Desc: 获取上线用户发展下线的人数 Author: lsx SKDate: 2017-11-24
	 */
	Integer getUsersinviteNum(Integer inviteId);

	/**
	 * Desc: 特别奖励发展1个商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateOneToScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展2个商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateTwoToScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展3个商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateThreeToScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展4个商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateFourToScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展5个及其以上商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateFiveToScore(Integer inviteId);

	/**
	 * Desc: 奖励积分 Author: lsx SKDate: 2017-11-24
	 */
	void updateScoreByUserId(Map<String, Object> map);

	/**
	 * Desc: 特别奖励发展1个商家奖励的积分划拨到待发积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateOneToFreezeScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展2个商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateTwoToFreezeScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展3个商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateThreeToFreezeScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展4个商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateFourToFreezeScore(Integer inviteId);

	/**
	 * Desc: 特别奖励发展5个及其以上商家奖励的积分划拨到可用积分中 Author: lsx SKDate: 2017-11-24
	 */
	void updateFiveToFreezeScore(Integer inviteId);

	Account getByShopId(Integer shopId);

	int updateFreezeCash(Account account);

	int updateFormalCash(Account account);

	int updateExchangeCash(Account account);

	int updateBonusScore(Account account);

	void updateScoreAndTotalScore(Map<String, Object> updateMap);

	int updateProbationScore(Account account);

	int addAccountSystem(int payScore);
}